package com.ruoyi.permission.domain;

import java.math.BigDecimal;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 菜单权限对象 sys_permission
 * 
 * @author pengjie
 * @date 2023-12-21
 */
public class permission extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键id */
    private String id;

    /** 父id */
    @Excel(name = "父id")
    private String parentId;

    /** 菜单标题 */
    @Excel(name = "菜单标题")
    private String name;

    /** 路径 */
    @Excel(name = "路径")
    private String url;

    /** 组件 */
    @Excel(name = "组件")
    private String component;

    /** 组件名字 */
    @Excel(name = "组件名字")
    private String componentName;

    /** 一级菜单跳转地址 */
    @Excel(name = "一级菜单跳转地址")
    private String redirect;

    /** 菜单类型(0:一级菜单; 1:子菜单:2:按钮权限) */
    @Excel(name = "菜单类型(0:一级菜单; 1:子菜单:2:按钮权限)")
    private Long menuType;

    /** 菜单权限编码 */
    @Excel(name = "菜单权限编码")
    private String perms;

    /** 权限策略1显示2禁用 */
    @Excel(name = "权限策略1显示2禁用")
    private String permsType;

    /** 菜单排序 */
    @Excel(name = "菜单排序")
    private BigDecimal sortNo;

    /** 聚合子路由: 1是0否 */
    @Excel(name = "聚合子路由: 1是0否")
    private Integer alwaysShow;

    /** 菜单图标 */
    @Excel(name = "菜单图标")
    private String icon;

    /** 是否路由菜单: 0:不是  1:是（默认值1） */
    @Excel(name = "是否路由菜单: 0:不是  1:是", readConverterExp = "默=认值1")
    private Integer isRoute;

    /** 是否叶子节点:    1:是   0:不是 */
    @Excel(name = "是否叶子节点:    1:是   0:不是")
    private Integer isLeaf;

    /** 是否缓存该页面:    1:是   0:不是 */
    @Excel(name = "是否缓存该页面:    1:是   0:不是")
    private Integer keepAlive;

    /** 是否隐藏路由: 0否,1是 */
    @Excel(name = "是否隐藏路由: 0否,1是")
    private Long hidden;

    /** 是否隐藏tab: 0否,1是 */
    @Excel(name = "是否隐藏tab: 0否,1是")
    private Long hideTab;

    /** 描述 */
    @Excel(name = "描述")
    private String description;

    /** 删除状态 0正常 1已删除 */
    private Long delFlag;

    /** 是否添加数据权限1是0否 */
    @Excel(name = "是否添加数据权限1是0否")
    private Long ruleFlag;

    /** 按钮权限状态(0无效1有效) */
    @Excel(name = "按钮权限状态(0无效1有效)")
    private String status;

    /** 外链菜单打开方式 0/内部打开 1/外部打开 */
    @Excel(name = "外链菜单打开方式 0/内部打开 1/外部打开")
    private Integer internalOrExternal;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String systemId;

    /** 路径Id */
    @Excel(name = "路径Id")
    private Long pathId;

    /** 全路径 */
    @Excel(name = "全路径")
    private String fullPath;

    /** 背景图片路径 */
    @Excel(name = "背景图片路径")
    private String backImage;

    /** 菜单背景图片 */
    @Excel(name = "菜单背景图片")
    private String backImage1;

    public void setId(String id) 
    {
        this.id = id;
    }

    public String getId() 
    {
        return id;
    }
    public void setParentId(String parentId) 
    {
        this.parentId = parentId;
    }

    public String getParentId() 
    {
        return parentId;
    }
    public void setName(String name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }
    public void setUrl(String url) 
    {
        this.url = url;
    }

    public String getUrl() 
    {
        return url;
    }
    public void setComponent(String component) 
    {
        this.component = component;
    }

    public String getComponent() 
    {
        return component;
    }
    public void setComponentName(String componentName) 
    {
        this.componentName = componentName;
    }

    public String getComponentName() 
    {
        return componentName;
    }
    public void setRedirect(String redirect) 
    {
        this.redirect = redirect;
    }

    public String getRedirect() 
    {
        return redirect;
    }
    public void setMenuType(Long menuType) 
    {
        this.menuType = menuType;
    }

    public Long getMenuType() 
    {
        return menuType;
    }
    public void setPerms(String perms) 
    {
        this.perms = perms;
    }

    public String getPerms() 
    {
        return perms;
    }
    public void setPermsType(String permsType) 
    {
        this.permsType = permsType;
    }

    public String getPermsType() 
    {
        return permsType;
    }
    public void setSortNo(BigDecimal sortNo) 
    {
        this.sortNo = sortNo;
    }

    public BigDecimal getSortNo() 
    {
        return sortNo;
    }
    public void setAlwaysShow(Integer alwaysShow) 
    {
        this.alwaysShow = alwaysShow;
    }

    public Integer getAlwaysShow() 
    {
        return alwaysShow;
    }
    public void setIcon(String icon) 
    {
        this.icon = icon;
    }

    public String getIcon() 
    {
        return icon;
    }
    public void setIsRoute(Integer isRoute) 
    {
        this.isRoute = isRoute;
    }

    public Integer getIsRoute() 
    {
        return isRoute;
    }
    public void setIsLeaf(Integer isLeaf) 
    {
        this.isLeaf = isLeaf;
    }

    public Integer getIsLeaf() 
    {
        return isLeaf;
    }
    public void setKeepAlive(Integer keepAlive) 
    {
        this.keepAlive = keepAlive;
    }

    public Integer getKeepAlive() 
    {
        return keepAlive;
    }
    public void setHidden(Long hidden) 
    {
        this.hidden = hidden;
    }

    public Long getHidden() 
    {
        return hidden;
    }
    public void setHideTab(Long hideTab) 
    {
        this.hideTab = hideTab;
    }

    public Long getHideTab() 
    {
        return hideTab;
    }
    public void setDescription(String description) 
    {
        this.description = description;
    }

    public String getDescription() 
    {
        return description;
    }
    public void setDelFlag(Long delFlag) 
    {
        this.delFlag = delFlag;
    }

    public Long getDelFlag() 
    {
        return delFlag;
    }
    public void setRuleFlag(Long ruleFlag) 
    {
        this.ruleFlag = ruleFlag;
    }

    public Long getRuleFlag() 
    {
        return ruleFlag;
    }
    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }
    public void setInternalOrExternal(Integer internalOrExternal) 
    {
        this.internalOrExternal = internalOrExternal;
    }

    public Integer getInternalOrExternal() 
    {
        return internalOrExternal;
    }
    public void setSystemId(String systemId) 
    {
        this.systemId = systemId;
    }

    public String getSystemId() 
    {
        return systemId;
    }
    public void setPathId(Long pathId) 
    {
        this.pathId = pathId;
    }

    public Long getPathId() 
    {
        return pathId;
    }
    public void setFullPath(String fullPath) 
    {
        this.fullPath = fullPath;
    }

    public String getFullPath() 
    {
        return fullPath;
    }
    public void setBackImage(String backImage) 
    {
        this.backImage = backImage;
    }

    public String getBackImage() 
    {
        return backImage;
    }
    public void setBackImage1(String backImage1) 
    {
        this.backImage1 = backImage1;
    }

    public String getBackImage1() 
    {
        return backImage1;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("parentId", getParentId())
            .append("name", getName())
            .append("url", getUrl())
            .append("component", getComponent())
            .append("componentName", getComponentName())
            .append("redirect", getRedirect())
            .append("menuType", getMenuType())
            .append("perms", getPerms())
            .append("permsType", getPermsType())
            .append("sortNo", getSortNo())
            .append("alwaysShow", getAlwaysShow())
            .append("icon", getIcon())
            .append("isRoute", getIsRoute())
            .append("isLeaf", getIsLeaf())
            .append("keepAlive", getKeepAlive())
            .append("hidden", getHidden())
            .append("hideTab", getHideTab())
            .append("description", getDescription())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("delFlag", getDelFlag())
            .append("ruleFlag", getRuleFlag())
            .append("status", getStatus())
            .append("internalOrExternal", getInternalOrExternal())
            .append("systemId", getSystemId())
            .append("pathId", getPathId())
            .append("fullPath", getFullPath())
            .append("backImage", getBackImage())
            .append("backImage1", getBackImage1())
            .toString();
    }
}
